// pages/login/login.js
import {sms,login} from '../../api/login'
import {setStorageSync,refreshsetStorageSync} from '../../utils/storage'
import {createStoreBindings} from "mobx-miniprogram-bindings"
import store from '../../store/index'
Page({

  /**
   * 页面的初始数据
   */
  data: {
    form:{
      mobile:'',
      code:''
    },
    // 错误提示
    errorMobile:'',
    errorCode:"",
    // 小红
    em:null,
    ec:null,
    // 验证码
    flag:true,
    // 时间
    time:60,
    // 瞎搞
    // b:true,

  },
  // 后退
back(){
  wx.navigateBack({
     delta: 1
   });
 },
// 手机号数据
onmobile(e){
 this.setData({
  "form.mobile": e.detail,
  em:null,
  errorMobile:''
 })
},
// 验证码绑定
oncode(e){
  this.setData({
   "form.code": e.detail,
   ec:null,
   errorCode:""
  })
 },
//  手机号校验
mobileblur(){
  const res = /^(?:(?:\+|00)86)?1[3-9]\d{9}$/
  const a =res.test(this.data.form.mobile)
if(a){
  this.setData({
    errorMobile:'',
    em:!a
  })
}else{
  this.setData({
    errorMobile:'手机格式错误',
    em:!a
  })
  this.setData({
    b:false
  })
}
  return a
},
// 验证码验证
codeblur(){
  // if(!this.data.b){
  //   this.setData({
  //     b:true
  //   })
  //    return
  // }else{
    const b = this.data.form.code.length === 6
  if(b){
    this.setData({
      errorCode:'',
      ec:!b
    })
  }else{
    this.setData({
      errorCode:'验证码格式错误',
      ec:!b
    })
  }
  return b
  },
  
  
// },
// 发送验证码
async onbut(){
  if (!this.mobileblur()) return
 const a = await sms(+this.data.form.mobile)
//  console.log(a);
 wx.showToast({
  title: '验证码发送成功',
  icon: 'success',
 });
  this.setData({
    flag:false
  })
  let times = setInterval(()=>{
    this.setData({
      time:this.data.time-1
    })
    if(this.data.time===0){
      clearInterval(times)
      this.setData({
        flag:true
      })
    }
  },1000)
},
// 点击登录按钮
async onlogin(){
  if (this.mobileblur() && this.codeblur()) {
    try {
      const a = await login(this.data.form)
    // console.log(a);
    setStorageSync(a.data.token)
    refreshsetStorageSync(a.data.refresh_token)
    this.setToken(a.data.token)
    wx.showToast({
      title: '登录成功',
      icon: 'success',
     });
    //  跳转
    wx.switchTab({
      url:`/pages/profile/profile`
    })
    } catch (error) {
      wx.showToast({
        title: error.response.data.message,
        icon: 'error',
       });
    }
  }
},
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
createStoreBindings(this,{
  store:store,
  fields:["token"],
  actions:["setToken"],
})
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})